#ifndef pclkselCalcH
 #define pclkselCalcH

/****************************************************************************************************/
/*                                   P C L K S E L   M O D E S                                      */
/****************************************************************************************************/
 #define pc4      0   // PCLK=CCLK/4
 #define pc1      1   // PCLK=CCLK/1
 #define pc2      2   // PCLK=CCLK/2
 #define pc8      3   // PCLK=CCLK/8 for all peripherals except for CAN1, CAN2 
 #define pc6      3   // PCLK=CCLK/6 for CAN1, CAN2, CAN filtering
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/




/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s    1 & 0    S E T I N G                        */
/****************************************************************************************************/
#if PCLKwdt == PCLK1
                         #define pcs0_1  ( pc1 << 0 )
 #elif PCLKwdt == PCLK2
                         #define pcs0_1  ( pc2 << 0 )
 #elif PCLKwdt == PCLK4
                         #define pcs0_1  ( pc4 << 0 )
 #else
                         #define pcs0_1  ( pc8 << 0 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s    3 & 2    S E T I N G                        */
/****************************************************************************************************/
#if PCLKt0 == PCLK1
                         #define pcs0_2  ( pc1 << 2 )
 #elif PCLKt0 == PCLK2
                         #define pcs0_2  ( pc2 << 2 )
 #elif PCLKt0 == PCLK4
                         #define pcs0_2  ( pc4 << 2 )
 #else
                         #define pcs0_2  ( pc8 << 2 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s    5 & 4    S E T I N G                        */
/****************************************************************************************************/
#if PCLKt1 == PCLK1
                         #define pcs0_3  ( pc1 << 4 )
 #elif PCLKt1 == PCLK2
                         #define pcs0_3  ( pc2 << 4 )
 #elif PCLKt1 == PCLK4
                         #define pcs0_3  ( pc4 << 4 )
 #else
                         #define pcs0_3  ( pc8 << 4 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s    7 & 6    S E T I N G                        */
/****************************************************************************************************/
#if PCLKu0 == PCLK1
                         #define pcs0_4  ( pc1 << 6 )
 #elif PCLKu0 == PCLK2
                         #define pcs0_4  ( pc2 << 6 )
 #elif PCLKu0 == PCLK4
                         #define pcs0_4  ( pc4 << 6 )
 #else
                         #define pcs0_4  ( pc8 << 6 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s    9 & 8    S E T I N G                        */
/****************************************************************************************************/
#if PCLKu1 == PCLK1
                         #define pcs0_5  ( pc1 << 8 )
 #elif PCLKu1 == PCLK2
                         #define pcs0_5  ( pc2 << 8 )
 #elif PCLKu1 == PCLK4
                         #define pcs0_5  ( pc4 << 8 )
 #else
                         #define pcs0_5  ( pc8 << 8 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   13 & 12   S E T I N G                        */
/****************************************************************************************************/
#if PCLKpwm1 == PCLK1
                         #define pcs0_7  ( pc1 << 12 )
 #elif PCLKpwm1 == PCLK2
                         #define pcs0_7  ( pc2 << 12 )
 #elif PCLKpwm1 == PCLK4
                         #define pcs0_7  ( pc4 << 12 )
 #else
                         #define pcs0_7  ( pc8 << 12 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   15 & 14   S E T I N G                        */
/****************************************************************************************************/
#if PCLKi2c0 == PCLK1
                         #define pcs0_8  ( pc1 << 14 )
 #elif PCLKi2c0 == PCLK2
                         #define pcs0_8  ( pc2 << 14 )
 #elif PCLKi2c0 == PCLK4
                         #define pcs0_8  ( pc4 << 14 )
 #else
                         #define pcs0_8  ( pc8 << 14 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   17 & 16   S E T I N G                        */
/****************************************************************************************************/
#if PCLKspi == PCLK1
                         #define pcs0_9  ( pc1 << 16 )
 #elif PCLKspi == PCLK2
                         #define pcs0_9  ( pc2 << 16 )
 #elif PCLKspi == PCLK4
                         #define pcs0_9  ( pc4 << 16 )
 #else
                         #define pcs0_9  ( pc8 << 16 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   19 & 18   S E T I N G                        */
/****************************************************************************************************/
#if PCLKrtc == PCLK1
                         #define pcs0_10 ( pc4 << 18 )
 #elif PCLKrtc == PCLK2
                         #define pcs0_10 ( pc2 << 18 )
 #elif PCLKrtc == PCLK4
                         #define pcs0_10 ( pc4 << 18 )
 #else
                         #define pcs0_10 ( pc8 << 18 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   21 & 20   S E T I N G                        */
/****************************************************************************************************/
#if PCLKssp1 == PCLK1
                         #define pcs0_11 ( pc1 << 20 )
 #elif PCLKssp1 == PCLK2
                         #define pcs0_11 ( pc2 << 20 )
 #elif PCLKssp1 == PCLK4
                         #define pcs0_11 ( pc4 << 20 )
 #else
                         #define pcs0_11 ( pc8 << 20 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   23 & 22   S E T I N G                        */
/****************************************************************************************************/
#if PCLKdac == PCLK1
                         #define pcs0_12 ( pc1 << 22 )
 #elif PCLKdac == PCLK2
                         #define pcs0_12 ( pc2 << 22 )
 #elif PCLKdac == PCLK4
                         #define pcs0_12 ( pc4 << 22 )
 #else
                         #define pcs0_12 ( pc8 << 22 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   25 & 24   S E T I N G                        */
/****************************************************************************************************/
#if PCLKadc == PCLK1
                         #define pcs0_13 ( pc1 << 24 )
 #elif PCLKadc == PCLK2
                         #define pcs0_13 ( pc2 << 24 )
 #elif PCLKadc == PCLK4
                         #define pcs0_13 ( pc4 << 24 )
 #else
                         #define pcs0_13 ( pc8 << 24 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   27 & 26   S E T I N G                        */
/****************************************************************************************************/
#if PCLKcan1 == PCLK1
                         #define pcs0_14 ( pc1 << 26 )
 #elif PCLKcan1 == PCLK2
                         #define pcs0_14 ( pc2 << 26 )
 #elif PCLKcan1 == PCLK4
                         #define pcs0_14 ( pc4 << 26 )
 #else
                         #define pcs0_14 ( pc6 << 26 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   29 & 28   S E T I N G                        */
/****************************************************************************************************/
#if PCLKcan2 == PCLK1
                         #define pcs0_15 ( pc1 << 28 )
 #elif PCLKcan2 == PCLK2
                         #define pcs0_15 ( pc2 << 28 )
 #elif PCLKcan2 == PCLK4
                         #define pcs0_15 ( pc4 << 28 )
 #else
                         #define pcs0_15 ( pc6 << 28 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 0    b i t s   31 & 30   S E T I N G                        */
/****************************************************************************************************/
#if PCLKacf == PCLK1
                         #define pcs0_16 ( pc1 << 30 )
 #elif PCLKacf == PCLK2
                         #define pcs0_16 ( pc2 << 30 )
 #elif PCLKacf == PCLK4
                         #define pcs0_16 ( pc4 << 30 )
 #else
                         #define pcs0_16 ( pc6 << 30 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/


/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
 #define PCS01def ( pcs0_1|pcs0_2 |pcs0_3 |pcs0_4 |pcs0_5 |        pcs0_7 |pcs0_8  )
 #define PCS02def ( pcs0_9|pcs0_10|pcs0_11|pcs0_12|pcs0_13|pcs0_14|pcs0_15|pcs0_16 )
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/






/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s    1 & 0    S E T I N G                        */
/****************************************************************************************************/
#if PCLKbram == PCLK1
                         #define pcs1_1  ( pc1 << 0 )
 #elif PCLKbram == PCLK2
                         #define pcs1_1  ( pc2 << 0 )
 #elif PCLKbram == PCLK4
                         #define pcs1_1  ( pc4 << 0 )
 #else
                         #define pcs1_1  ( pc8 << 0 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s    3 & 2    S E T I N G                        */
/****************************************************************************************************/
#if PCLKgpio == PCLK1
                         #define pcs1_2  ( pc1 << 2 )
 #elif PCLKgpio == PCLK2
                         #define pcs1_2  ( pc2 << 2 )
 #elif PCLKgpio == PCLK4
                         #define pcs1_2  ( pc4 << 2 )
 #else
                         #define pcs1_2  ( pc8 << 2 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s    5 & 4    S E T I N G                        */
/****************************************************************************************************/
#if PCLKpcb == PCLK1
                         #define pcs1_3  ( pc1 << 4 )
 #elif PCLKpcb == PCLK2
                         #define pcs1_3  ( pc2 << 4 )
 #elif PCLKpcb == PCLK4
                         #define pcs1_3  ( pc4 << 4 )
 #else
                         #define pcs1_3  ( pc8 << 4 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s    7 & 6    S E T I N G                        */
/****************************************************************************************************/
#if PCLKi2c1 == PCLK1
                         #define pcs1_4  ( pc1 << 6 )
 #elif PCLKi2c1 == PCLK2
                         #define pcs1_4  ( pc2 << 6 )
 #elif PCLKi2c1 == PCLK4
                         #define pcs1_4  ( pc4 << 6 )
 #else
                         #define pcs1_4  ( pc8 << 6 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   11 & 10   S E T I N G                        */
/****************************************************************************************************/
#if PCLKssp0 == PCLK1
                         #define pcs1_6  ( pc1 << 10 )
 #elif PCLKssp0 == PCLK2
                         #define pcs1_6  ( pc2 << 10 )
 #elif PCLKssp0 == PCLK4
                         #define pcs1_6  ( pc4 << 10 )
 #else
                         #define pcs1_6  ( pc8 << 10 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   13 & 12   S E T I N G                        */
/****************************************************************************************************/
#if PCLKt2 == PCLK1
                         #define pcs1_7  ( pc1 << 12 )
 #elif PCLKt2 == PCLK2
                         #define pcs1_7  ( pc2 << 12 )
 #elif PCLKt2 == PCLK4
                         #define pcs1_7  ( pc4 << 12 )
 #else
                         #define pcs1_7  ( pc8 << 12 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   15 & 14   S E T I N G                        */
/****************************************************************************************************/
#if PCLKt3 == PCLK1
                         #define pcs1_8  ( pc1 << 14 )
 #elif PCLKt3 == PCLK2
                         #define pcs1_8  ( pc2 << 14 )
 #elif PCLKt3 == PCLK4
                         #define pcs1_8  ( pc4 << 14 )
 #else
                         #define pcs1_8  ( pc8 << 14 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   17 & 16   S E T I N G                        */
/****************************************************************************************************/
#if PCLKu2 == PCLK1
                         #define pcs1_9  ( pc1 << 16 )
 #elif PCLKu2 == PCLK2
                         #define pcs1_9  ( pc2 << 16 )
 #elif PCLKu2 == PCLK4
                         #define pcs1_9  ( pc4 << 16 )
 #else
                         #define pcs1_9  ( pc8 << 16 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   19 & 18   S E T I N G                        */
/****************************************************************************************************/
#if PCLKu3 == PCLK1
                         #define pcs1_10 ( pc4 << 18 )
 #elif PCLKu3 == PCLK2
                         #define pcs1_10 ( pc2 << 18 )
 #elif PCLKu3 == PCLK4
                         #define pcs1_10 ( pc4 << 18 )
 #else
                         #define pcs1_10 ( pc8 << 18 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   21 & 20   S E T I N G                        */
/****************************************************************************************************/
#if PCLKi2c2 == PCLK1
                         #define pcs1_11 ( pc1 << 20 )
 #elif PCLKi2c2 == PCLK2
                         #define pcs1_11 ( pc2 << 20 )
 #elif PCLKi2c2 == PCLK4
                         #define pcs1_11 ( pc4 << 20 )
 #else
                         #define pcs1_11 ( pc8 << 20 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   23 & 22   S E T I N G                        */
/****************************************************************************************************/
#if PCLKi2s == PCLK1
                         #define pcs1_12 ( pc1 << 22 )
 #elif PCLKi2s == PCLK2
                         #define pcs1_12 ( pc2 << 22 )
 #elif PCLKi2s == PCLK4
                         #define pcs1_12 ( pc4 << 22 )
 #else
                         #define pcs1_12 ( pc8 << 22 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   25 & 24   S E T I N G                        */
/****************************************************************************************************/
#if PCLKmci == PCLK1
                         #define pcs1_13 ( pc1 << 24 )
 #elif PCLKmci == PCLK2
                         #define pcs1_13 ( pc2 << 24 )
 #elif PCLKmci == PCLK4
                         #define pcs1_13 ( pc4 << 24 )
 #else
                         #define pcs1_13 ( pc8 << 24 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

/****************************************************************************************************/
/*                        P C L K S E L 1    b i t s   29 & 28   S E T I N G                        */
/****************************************************************************************************/
#if PCLKscon == PCLK1
                         #define pcs1_15 ( pc1 << 28 )
 #elif PCLKscon == PCLK2
                         #define pcs1_15 ( pc2 << 28 )
 #elif PCLKscon == PCLK4
                         #define pcs1_15 ( pc4 << 28 )
 #else
                         #define pcs1_15 ( pc8 << 28 )
#endif 
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/


/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
 #define PCS11def ( pcs1_1|pcs1_2 |pcs1_3 |pcs1_4 |        pcs1_6 |pcs1_7 |pcs1_8  )
 #define PCS12def ( pcs1_9|pcs1_10|pcs1_11|pcs1_12|pcs1_13|        pcs1_15         )
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

#endif